#pragma once

#include "BeanieCore.h"
#include "List.h"
#include "Utilities.h"

enum BD_TYPE  {BD_INT,BD_STRING,BD_FLOAT};

class BeanieDebug
{
private:
	//attributes
	BeanieCore* m_core;
	int			m_color;

	List<int>	 m_types;
	List<char*>	 m_labels;

	List<int*>	 m_ints;
	List<char*>  m_strings;
	List<float*> m_floats;
public:
	//ctor & dtor
	BeanieDebug(){}
	~BeanieDebug(){}

	//init & release functions
	void init(BeanieCore* a_core, int a_color);
	void release();

	//draws functions
	void drawTLD();
	void drawBLD();

	//watch functions
	void watch(int* a_value);
	void watch(char* m_value);
	void watch(float* m_value);
	void watch(char* m_label, int* m_value);
	void watch(char* m_label, char* m_value);
	void watch(char* m_label, float* m_value);

	//other functions
	void clear();
};